/*
 * Copyright (c) GBA-NCTI-ISDC. 2022-2024.
 *
 * openGauss embedded is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *
 * http://license.coscl.org.cn/MulanPSL2
 *
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FITFOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
 * -------------------------------------------------------------------------
 *
 * org_intarkdb_core_IntarkdbNative.h
 *
 * IDENTIFICATION
 * openGauss-embedded/src/interface/jdbc/org_intarkdb_core_IntarkdbNative.h
 *
 * -------------------------------------------------------------------------
 */
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_intarkdb_core_IntarkdbNative */

#ifndef _Included_org_intarkdb_core_IntarkdbNative

#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_open
 * Signature: (Ljava/lang/String;Ljava/nio/ByteBuffer;)I
 */
JNIEXPORT jint JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1open(JNIEnv *, jclass, jstring, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_close
 * Signature: (Ljava/nio/ByteBuffer;)V
 */
JNIEXPORT void JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1close(JNIEnv *, jclass, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_connect
 * Signature: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
 */
JNIEXPORT jint JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1connect(JNIEnv *, jclass, jobject, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_disconnect
 * Signature: (Ljava/nio/ByteBuffer;)V
 */
JNIEXPORT void JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1disconnect(JNIEnv *, jclass, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_query
 * Signature: (Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/nio/ByteBuffer;)I
 */
JNIEXPORT jint JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1query(JNIEnv *, jclass, jobject, jstring,
                                                                             jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_init_result
 * Signature: ()Ljava/nio/ByteBuffer;
 */
JNIEXPORT jobject JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1init_1result(JNIEnv *, jclass);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_row_count
 * Signature: (Ljava/nio/ByteBuffer;)J
 */
JNIEXPORT jlong JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1row_1count(JNIEnv *, jclass, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_result_effect_row
 * Signature: (Ljava/nio/ByteBuffer;)J
 */
JNIEXPORT jlong JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1result_1effect_1row(JNIEnv *, jclass, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_column_count
 * Signature: (Ljava/nio/ByteBuffer;)
 */
JNIEXPORT jlong JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1column_1count(JNIEnv *, jclass, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_column_name
 * Signature: (Ljava/nio/ByteBuffer;J)
 */
JNIEXPORT jstring JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1column_1name(JNIEnv *, jclass, jobject,
                                                                                       jlong);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_value_varchar
 * Signature: (Ljava/nio/ByteBuffer;J)
 */
JNIEXPORT jstring JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1value_1varchar(JNIEnv *, jclass, jobject,
                                                                                         jlong, jlong);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_value_timestamp
 * Signature: (Ljava/nio/ByteBuffer;JJ)Ljava/nio/ByteBuffer;
 */
JNIEXPORT jlong JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1value_1timestamp(JNIEnv *, jclass, jobject,
                                                                                         jlong, jlong);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_value_date
 * Signature: (Ljava/nio/ByteBuffer;JJ)Ljava/nio/ByteBuffer;
 */
JNIEXPORT jstring JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1value_1date(JNIEnv *, jclass, jobject, jlong,
                                                                                      jlong);
/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_value_blob
 * Signature: (Ljava/nio/ByteBuffer;JJ)Ljava/nio/ByteBuffer;
 */
JNIEXPORT jbyteArray JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1value_1blob(JNIEnv *env, jclass cls,
                                                                                       jobject result, jlong row,
                                                                                       jlong col);

    /*
     * Class:     org_intarkdb_core_IntarkdbNative
     * Method:    intarkdb_result_msg
     * Signature: (Ljava/nio/ByteBuffer;)
     */
    JNIEXPORT jstring JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1result_1msg(JNIEnv *, jclass, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_free_row
 * Signature: (Ljava/nio/ByteBuffer;)
 */
JNIEXPORT void JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1free_1row(JNIEnv *, jclass, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_destroy_result
 * Signature: (Ljava/nio/ByteBuffer;)
 */
JNIEXPORT void JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1destroy_1result(JNIEnv *, jclass, jobject);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_prepare
 * Signature: (Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/nio/ByteBuffer;)
 */
JNIEXPORT jint JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1prepare(JNIEnv *env, jclass, jobject conn,
                                                                               jstring query, jobject prepStmt);
/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_execute_prepared
 * Signature: (Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/nio/ByteBuffer;Array;)
 */
JNIEXPORT jint JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1execute_1prepared(JNIEnv *env, jclass,
                                                                                         jobject prepStmt,
                                                                                         jobject result,
                                                                                         jobjectArray params);
/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_destroy_prepare
 * Signature: (Ljava/nio/ByteBuffer;)
 */
JNIEXPORT void JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1destroy_1prepare(JNIEnv *env, jclass cls,
                                                                                        jobject prepStmt);
/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_prepare_nparam
 * Signature: (Ljava/nio/ByteBuffer;)
 */
JNIEXPORT jlong JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1prepare_1nparam(JNIEnv *env, jclass cls,
                                                                                        jobject prepStmt);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_column_type
 * Signature: (Ljava/nio/ByteBuffer;L)I;
 */
JNIEXPORT jint JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1column_1type(JNIEnv *env, jclass cls,
                                                                                    jobject result, jlong col);

/*
 * Class:     org_intarkdb_core_IntarkdbNative_intarkdb_prepare_errmsg
 * Method:    intarkdb_prepare_errmsg
 * Signature: (Ljava/nio/ByteBuffer;)J
 */
JNIEXPORT jstring JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1prepare_1errmsg(JNIEnv *env, jclass cls,
                                                                                          jobject prepStmt);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    is_select
 * Signature: (Ljava/nio/ByteBuffer;)V
 */
JNIEXPORT jboolean JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1is_1select(JNIEnv *env, jclass cls,
                                                                                      jobject result);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_need_result_ex
 * Signature: (Ljava/nio/ByteBuffer;Z)V
 */
JNIEXPORT void JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1need_1result_1ex(JNIEnv *env, jclass cls,
                                                                                        jobject result, jboolean need);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_start_remote
 * Signature: (Ljava/nio/ByteBuffer;J)I
 */
JNIEXPORT jint JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1start_1remote(JNIEnv *env, jclass cls,
                                                                                     jstring dbname, jstring location,
                                                                                     jlong port);

/*
 * Class:     org_intarkdb_core_IntarkdbNative
 * Method:    intarkdb_stop_server
 * Signature: (Ljava/nio/ByteBuffer;J)I
 */
JNIEXPORT void JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1stop_1remote(JNIEnv *env, jclass cls);

JNIEXPORT void JNICALL Java_org_intarkdb_core_IntarkdbNative_intarkdb_1delete_1databse(JNIEnv *env, jclass cls,
                                                                                       jstring dbname);
#ifdef __cplusplus
}
#endif
#endif
